package com.zbkj.front.controller.assistant.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.zbkj.common.model.assistant.AssistantMessage;
import com.zbkj.common.request.PageParamRequest;
import com.zbkj.service.assistant.model.request.*;
import com.zbkj.service.assistant.model.vo.AssistantMessageVO;

/**
* @author keNan
* @description AssistantMessageService 接口
* @date 2025-06-11
*/
public interface AssistantMessageService extends IService<AssistantMessage> {

    /**
     * 用户发送消息给客服
     * @param request 请求参数
     * @param userId 用户ID
     */
    AssistantMessageVO sendByUser(AssistantMessageUserSendRequest request, Integer userId);

    /**
     * 用户获取自己与客服的消息列表
     * @param request
     * @param pageParamRequest
     * @param userId
     * @return
     */
    PageInfo<AssistantMessageVO> getUserMessageList(AssistantMessageUserSearchRequest request, PageParamRequest pageParamRequest, Integer userId);

    /**
     * 读消息
     */
    void read(Integer messageId);

    /**
     * 用户进行评价
     * @param request
     * @param userId
     */
    void feedback(AssistantMessageFeedbackRequest request, Integer userId);

}